---
title: LegalMaintenance — Screen catalog
summary: Index of all user-facing screens in the LegalMaintenance application.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-25
---

# Screen catalog

LegalMaintenance exposes a single flat set of legal-department maintenance screens reached through the shared `SAIFMenu`/`SAIFMenuTop` menu on `DefaultMaster.master`; the menu's actual item list is populated at runtime from configuration/data not present in this source repository, so it is not reproduced here.* Every screen inherits `clsLegalMaintenanceAncestor`, which hooks the shared menu's navigation events and — independently of any menu configuration — redirects any postback that lands on a new/expired session to `frmAttorneyProfile.aspx?msg=Your session has timed out`.* Aside from that shared timeout redirect and one explicit print-preview handoff from `frmRotation.aspx`, none of the eight genuine screens contain 3-or-more confirmed outbound navigation calls in their own code-behind, so all eight are classified as Secondary screens under the main/secondary rule used in this catalog.

## Application entry point

**Entry screen:** [Legal Maintenance Start Page](default.md)
**Entry path:** `Default.aspx` → `Default.aspx.vb Page_Load` unconditionally calls `Controller.Navigate(ApplicationName, "frmAttorneyProfile.aspx")`, so every session starts on [Attorney Profile](frm-attorney-profile.md).

## Application navigation overview

The diagram below shows only navigation confirmed in source: the startup redirect, the shared session-timeout redirect (present in `clsLegalMaintenanceAncestor.vb`, inherited by all `frm*.aspx` screens), and the explicit rotation-report print-preview handoff.

```mermaid
flowchart LR
    Entry[Default.aspx] -->|startup redirect| Profile[frmAttorneyProfile.aspx]
    Assignment[frmAttorneyAssignment.aspx] -->|session timeout*| Profile
    Hearing[frmHearingLocation.aspx] -->|session timeout| Profile
    LegalPerson[frmLegalPerson.aspx] -->|session timeout| Profile
    OtherFirms[frmOtherFirms.aspx] -->|session timeout| Profile
    Rotation[frmRotation.aspx] -->|session timeout| Profile
    Rotation -->|Print button| PrintPreview[frmPrintPreview.aspx]
    PrintPreview -.->|caller-seeded popup, any screen can open it*| Profile
```

## Screens

| Screen | Purpose | Entry path | Infragistics | Classification |
| --- | --- | --- | --- | --- |
| [Legal Maintenance Start Page](default.md) | Application startup shell; immediately redirects to the attorney profile screen | Browser requests `Default.aspx` | No | Secondary (entry point) |
| [Attorney Profile](frm-attorney-profile.md) | Maintains attorney profile records, assignment capability flags, and hearing-location preferences | Startup redirect from `Default.aspx`; shared menu | Yes | Secondary |
| [Attorney Tables](frm-attorney-assignment.md) | Maintains attorney conflict, policy, worker, schedule, and rotation assignment tables | Shared menu | Yes | Secondary |
| [Hearing Locations](frm-hearing-location.md) | Maintains hearing-location reference rows (codes, addresses, rotation flags) | Shared menu | Yes | Secondary |
| [Legal Person](frm-legal-person.md) | Maintains legal-person master rows and legal-person-type assignments | Shared menu | Yes | Secondary |
| [Other Parties](frm-other-firms.md) | Maintains other-party firm records filtered by firm type | Shared menu | Yes | Secondary |
| [Out of Town Rotations](frm-rotation.md) | Maintains out-of-town attorney rotation assignments by hearing location | Shared menu | Yes | Secondary |
| [Print Preview](frm-print-preview.md) | Popup that renders a caller-prepared legal document as an inline PDF | Opened by a calling screen's `PrintReport(...)` (e.g. `frmRotation.aspx` print button) | No | Secondary |
| `SessionPing.aspx` | Utility page with an empty `Page_Load`; keeps the WebForms session alive during long user interactions* | Client-side keep-alive polling** | No | Utility |
| `AppViewPageBase.aspx` | Empty markup shell (`<form>` only) for the `AppMVCBase.AppViewPageBase` base type; not a working user screen | N/A — base-type design artifact | No | Utility |
| `DataHelper.aspx` | AJAX endpoint that forwards posted form values to `clsAttorneyTableManager.ProcessAjaxRequest` for inline grid edits; no rendered UI | Client-side AJAX call from a grid screen's script | No | Utility |

## Screen count summary
- **Total screens:** 11 (8 genuine + 3 utility)
- **Main screens:** 0 (3+ outbound navigations) — no genuine screen has 3 or more confirmed outbound navigation calls in its own source
- **Secondary screens:** 8
- **Utility pages:** 3 (`SessionPing.aspx`, `AppViewPageBase.aspx`, `DataHelper.aspx`)

## Related documentation
- [Application index](../application/index.md)
- [Application overview](../application/overview.md)
- [Architecture](../application/architecture.md)
- [Dependencies](../application/dependencies.md)
- [Business rules](../application/business-rules.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with `**` could not be confirmed; treat as unknown until verified.

## Sources
- LegalMaintenance web project (`LegalMaintenance\*.aspx`, `LegalMaintenance\*.aspx.vb`)
- LegalMaintenance\DefaultMaster.master
- LegalMaintenance\DefaultMaster.master.vb
- LegalMaintenance\Classes\clsLegalMaintenanceAncestor.vb
- LegalMaintenance\SessionPing.aspx.vb
- LegalMaintenance\AppViewPageBase.aspx
- LegalMaintenance\DataHelper.aspx.vb
